enum instead of bit_fields