tienes por ejemplo el tipo enum que contiene valores especificos, pero segun yo ya forma mas optima es usar int y bool/bit, esto porque la DB no es para ser leida por humanos, sino para ser optima en funcionamiento
así que el campo sexo lo haces bool, verdadero para un sexo falso para el otro
estado del objeto un tinyint que guarda hasta 255 (o un int personalizado de 3 bits que guarda de 0 a 7)
estado civil y doc_compra igual....
y el codigo en su modelo (asumiendo que usas esquema MVC o similar) sabe como se interpreta cada dato
así que el campo sexo lo haces bool, verdadero para un sexo falso para el otro
estado del objeto un tinyint que guarda hasta 255 (o un int personalizado de 3 bits que guarda de 0 a 7)
estado civil y doc_compra igual....
y el codigo en su modelo (asumiendo que usas esquema MVC o similar) sabe como se interpreta cada dato