I think I have a proof: if $(X_i)_{i \in I}$ is a non-empty family of non-empty sets, then consider the following categories: (1) $I$ as a discrete category (2) Consider the disjoint union $X$ of the sets $X_i$, each as a codiscrete category (i.e. there's a morphism between each pair of elements in the same set), then we have a functor $F:X_i \to I$ by sending each element $x_i \in X_i$ to $i$. This is essentially surjective and fully faithful,
having a quasi-inverse $G: I \to X$ is the same as a choice function