If your language can't understand the concept of bit flags in an enum, then you should probably store it as an int internally. Changing the C driver to use an int is not a good way to solve this.