BitField: Add a static_assert.

Being able to store BitField within unions requires BitField to be of standard layout, which in turn is only given if the underlying type is also has standard layout.
BitField: Cast enum values to proper integer type.