Boolean-ом
Ничего плохого в булеанах нет - просто сетку править нужно.
Есть золотое правило - если время чистки сетки после буленов превышает время моделинга - то лучше замоделить.