NOTE: Factions are technically a 'group based attribute', however you should not attempt to define this yourself, you should enable and use the Faction module which will define the appropriate attribute for you, and add on extensions appropriate for factions (like faction XP)
Races, classes, and any number of other things on a character sheet of the form “choose one of these options” can be represented as a group attribute.
This is done by creating the choices as “groups”, and the groups are tagged with a type. Characters then may be required to pick an open group (you may have closed groups too) at character creation time, and will be placed in the appropriate group with the appropriate value on their character sheet.
We will implement the “Race” attribute here
Now we create our races, for example “Elf”
Reminder: Groups that are not made open will not be selectable by characters during the default character initialisation ; this allows you to create 'admin only' (or admin assignable only) races/classes/whatever's for 'special' characters.