For testing purposes I removed all DOMESTIC tags from my entities, I also copied the Horse raws to create extra horse creatures without the DOMESTIC tags, to test the embark screen:
* mountain horse: biome: mountain
* grassland horse: biome: any_grassland
* forest horse: biome: any_forest
* cave horse: biome: subterranean_chasm and the depth tag
* evil horse: biome: any_land and evil tag
* good horse: biome: any_land and good tag
* evil cave horse: cave horse plus evil tag
* good cave horse: cave horse plus good tag
Dwarfs can bring "cave horses" as animals, I check the meat items and I have "mountain horse" and "grassland horse" meats.... so why don't the "mountain horses" show up as selectable animals?
Elves have "good horses" as animals, shouldn't they have at least "forest horses" too?
Goblins have "evil horses", "evil cave horses" and "cave horses"
Humans have "grassland horses" and old regular horses in their items (leathers, meats) but nothing as selectable animals
In my next test I removed the [PET] tag from my custom horse creatures and I got:
Humans with no pet animals and "forest horses", "mountain horses" and "grassland horses" as products
Dwarves with no pet animals and "cave horses" and "mountain horses" as products
Goblins with "evil cave horses" as pet animals and "cave horses", "grassland horses", "forest horses", and "evil cave horses" as products, why "evil horses" didn't show up is beyond me...
Elves with "good horses" as pet animals
It seems that the USE_GOOD_ANIMALS and USE_EVIL_ANIMALS tags ignore the PET tags while USE_CAVE_ANIMALS, USE_ANY_PET_RACE and USE_DOMESTIC_ include the creatures with PET in the list of selectable animals