Stocker des valeurs enum dans MongoDB sous forme de chaînes est parfaitement correct, et oui, si vous indexez le champ, je m'attendrais à ce que les performances soient comparables aux requêtes entières indexées. C'est certainement plus expressif que d'utiliser des nombres entiers.
Le seul véritable inconvénient est qu'ils prendront plus d'espace si vos chaînes d'énumération sont un peu longues, mais c'est une préoccupation assez triviale.