Let $G$ be a finite group, $M$ a 2-dimensional manifold. There are
$$ \#\{ (a_1,b_1,a_2,b_2,\cdots,a_g,b_g) \in G^{2g}\,|\, \Pi_i[a_i,b_i]=1\} $$
many $G$ bundles over $M$ up to isomorphism, where $g$ is the genus of $M$.
There is only one bundle if $g=0$, and $|\mbox{Conj}(G)|$ many bundles if $g=1$. However, when $g$ is larger than $1$, things get trickier.
Even the easiest case $g=2$ and $G=S_3$ is hard. Are there ways to cleverly compute the number? If not in general, can I find the answer somewhere for some $g$ and some usual groups $S_n$ (symmetric), $A_n$ (alternative), $D_n$ (dihedral)..?
G-bundles are classified by $BG$. One can calculate that $[X,BG]_*=\operatorname{Hom}(\pi_1(X),G)$. Unpointed maps then correspond to $\operatorname{Hom}(\pi_1(X),G)/\sim$ where $\sim$ is the action of conjugation (in particular, you only have half the bundles you want in your genus 2 case). This agrees with your description in the surface case.