System has couple of ways to have boolean field type (and you already mentioned some):
- text field with a list of values
- keywords
- even simple input field with predefined value
It is also interesting to know what default values are expected then:
- true/false
- yes/no
- 1/0
Since values will be passed as is to Content Delivery side