The problem of classifying finite groupoids is essentially of the same order of difficulty as classifying finite groups, which as far as I am aware we are very, very far away from doing. (There is a classification theorem for finite simple groups. I don't know what is meant by classifying "finite subgroups".)
The basic idea is that groupoids are disjoint unions of connected groupoids, and connected groupoids are equivalent (in the technical sense of categorical equivalence) to groups as 1-object categories. Specifically, if you have a connected groupoid $G$ and choose an object $x$, then $G$ is equivalent to the group of automorphisms $\hom_G(x, x)$ (which I will abbreviate to $G(x, x)$.
So for example, I claim that a finite connected groupoid $G$ is classified by the cardinality of its object set $G_0$ together with the isomorphism type of a typical automorphism group $G(x, x)$. In other words, if $G$, $H$ are finite connected groupoids $G$, $H$ and there exists a bijection $F_0: G_0 \to H_0$ between their objects sets and a group isomorphism $\phi: G(x, x) \to H(y, y)$ between typical automorphism groups (supposing WLOG that $y = F_0(x)$), then $G$ and $H$ are isomorphic as groupoids.
The proof is easy. Let $x_0 = x$, $x_1, \ldots, x_n$ be the objects of $G$. For each $j > 0$, choose at random a morphism $g_j: x_0 \to x_j$, and let $g_0 = 1_{x}$; similarly choose at random a morphism $h_j: F_0(x_0) \to F_0(x_j)$ (but again with $h_0 = 1_{F_0(x)}$. Define a functor $F: G \to H$ to be $F_0$ at the object level. To define $F$ at the morphism level, notice that any morphism $f: x_i \to x_j$ is of the form $g_j \circ g \circ g_{i}^{-1}$ for some unique $g \in G(x, x)$. Then define $F(f)$ to be $h_j \circ \phi(g) \circ h_{i}^{-1}$. Then check that this defines a functor and indeed an isomorphism between $G$ and $H$; the details are straightforward.