Given a category $\mathsf{A}$, let $\mathsf{Fam}(\mathsf{A})$ be its free coproduct cocompletion (which is always extensive). This means every object has a unique up to iso presentation as a coproduct of connected objects. This category is really part of the data of a fibration $\Pi_0:\mathsf{Fam}(\mathsf{A})\longrightarrow \mathsf{Set}$ assigning to each object its set of connected components. There's also an adjunction $\Pi_0\dashv H$ where $H$ is the "discrete" functor taking a set $A$ to $A\cdot \mathbf{1}=\coprod_A\mathbf{1}$.
In the book Galois Theories by Borceux and Janelidze, a neat process of abstraction leads to the following definition.
Definition 6.5.9. An arrow $\alpha:A\longrightarrow B$ in $\mathsf{C}=\mathsf{Fam}(\mathsf A)$ is said to be a covering morphism if there exists an effective descent morphism $p:E\longrightarrow B$ such that the square below is a pullback. $$\require{AMScd} \begin{CD} E\times_BA @>{\eta_{E\times_BA}}>> H\Pi_0(E\times_BA)\\ @V{p^\ast\alpha}VV @VV{H\Pi_0(p^\ast\alpha)}V\\ E @>>{\eta_E}> H\Pi_0(E) \end{CD}$$
Concretely, the unit $\eta$ takes a point to its connected component.
Since I'm having a hard time visualizing this definition as it's presented, I thought of abstracting the definition of a fiber bundle, and the trying to abstract the definition of a covering space as a fiber bundle with discrete fibers.
Definition 1. A trivial fiber bundle with fiber $F$ is an arrow which is isomorphic to $\pi_1:B\times F\longrightarrow B$ in $\mathsf{C}/B$.
Definition 2. Let $\mathcal M$ be a class of arrows in a site $\mathsf{C}$. An arrow $\pi:E\longrightarrow B$ is said to be locally in $\mathcal M$ if there's a covering $\left\{u_i:U_i\rightarrow B \right\}$ such that $u_i^\ast\pi$ are all in $\mathcal M$.
Definition 3. A fiber bundle with fiber $F$ a locally trivial fiber bundle with fiber $F$, i.e it is locally in the class of projections $X\times F\longrightarrow X$.
If $\mathsf{C}$ is complete, trivial fiber bundles are stable under base change (with invariant fiber). If $\mathsf{C}$ is a complete superextensive site, fiber bundles are stable under base change, also with invariant fiber. So complete superextensive sites look like especially good settings for working with fiber bundles.
Definition 4. A covering morphism is a fiber bundle such that $F$ is in the essential image of $H$.
Why is this definition poor, and why does it not capture what we want a covering morphism to capture? How does it compare to definition 6.5.9 (e.g if we take the extensive topology on $\mathsf{C}$)?
What do we want a covering morphism to capture?