Which is better: multiple meshes in the same prefab or different prefabs for each combination?

I want to create a prefab for my game characters so I can instantiate them programmatically. However, my game characters can be one of two genders, one of three races, and have seven variant models for each race/gender combination.

This means, combined, there are 42 different models that could be used.

According to Change Prefab 3D Model at runtime - Questions & Answers - Unity Discussions the answer suggests I put every variant into the prefab and then just disable everything but the one used.

So which is more performant? 42 prefabs that only have the required meshes, or one prefab with 42 meshes, 41 of which are disabled?

What I do in this case, is to have a prebaf without mesh , and then add in the code the mesh as a childen in that way, So I can have a enemy prefab, and 20 differents models , If I want to add more modesl I just need add them to zombieModelArray and If i change something in the enemy prefab it affect them all

   GameObject enemy = Instantiate(enemyPrefab, posicionInicial, Quaternion.identity) as GameObject;
   GameObject zombieModel = Instantiate(zombieModelsArray[Random.Range(0,zombieModelsArray.Length)], posicionInicial, Quaternion.identity) as GameObject;
   zombieModel.transform.localScale = Vector3.one * 0.42f;
   zombieModel.transform.parent = enemy.transform;