If the setup is optimized, most of the flags are bits. Let's say for one race, 2 bits go to face shape. This frees up memory for other slots, but means the maximum is 4, as bits can be 1 or 0. Thus, the only combinations for marking flags are 00, 01, 10, and 11.

This means it takes another bit to go over 4. If this is optimized for memory, then their memory allocation means that it's simple to add things that they already have a large amount of, but smaller numbers will take more for less. All memory allocations that are just simple bitflags rely on those possible combinations; they can be considered to be 2^(bit number) combinations. So we have 2, 4, 8, 16, 32, 64...

When you look at the required space, consider this: Races have 50-100 skin colors. Same with hair color, eye color. All these options take up space. So if memory allocation is the same for all races and appearances, then cram room can be challenging, while hair styles aren't because they're not filled yet.