Set<EntityType<?>> entityTypes = spawns.getEntityTypes();
is returning entities with spawn costs, which only 2 nether biomes have them for enderman.
Try something like this:
List<Spawners> list = spawns.getSpawner(EntityType.ENDERMAN.getCategory());
for (Spawners entry : list) {
if (entry.type == EntityType.ENDERMAN) {
int weight = 10;
if (event.getCategory() == Biome.Category.NETHER) {
weight = 1;
}
spawns.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(ModEntities.MY_MOB, weight, 1, 4));
break;
}
}