Если есть необходимость делать пол необязательным, то можно сделать enum, добавив туда значение для неопределенного (незаполненного), ну или же использовать boolean, разрешив туда NULL.
Концептуально enum - самый правильный вариант для перечислений небольшого размера или чьи значения должны участвовать в коде функций. плюс не нужна дополнительная таблица с перечнем полов человека.Так что берите его, не пожалеете.