This, but using bitfields and enums.
Using multiple booleans like this seems like such a waste unless you're using a language that doesn't let you do otherwise.