> If the enumeration type has a fixed underlying type, the value is first converted to that type by integral conversion, if necessary, and then to the enumeration type.If the enumeration type does not have a fixed underlying type, the value is unchanged if the original value is within the range of the enumeration values ([dcl.enum]), and otherwise, the behavior is undefined.
> The resulting value is the same as converting the original value to the underlying type of the enumeration ([conv.fpint]), and subsequently to the enumeration type.
https://timsong-cpp.github.io/cppwp/n4868/expr.static.cast#10[expr.static.cast]/10:> If the enumeration type has a fixed underlying type, the value is first converted to that type by integral conversion, if necessary, and then to the enumeration type.
https://timsong-cpp.github.io/cppwp/n4868/conv.bool#1[conv.bool]/1:> A prvalue of arithmetic, unscoped enumeration, pointer, or pointer-to-member type can be converted to a prvalue of type bool.A zero value, null pointer value, or null member pointer value is converted to false; any other value is converted to true.
https://timsong-cpp.github.io/cppwp/n4868/dcl.init.list#3.8[dcl.init.list]/3.8:> Otherwise, if T is an enumeration with a fixed underlying type ([dcl.enum]) U, the initializer-list has a single element v, v can be implicitly converted to U, and the initialization is direct-list-initialization, the object is initialized with the value T(v) ([expr.type.conv]); if a narrowing conversion is required to convert v to U, the program is ill-formed.
https://timsong-cpp.github.io/cppwp/n4868/basic.fundamental#10[basic.fundamental]/10:> Type bool is a distinct type that has the same object representation, value representation, and alignment requirements as an implementation-defined unsigned integer type.The values of type bool are true and false.
https://timsong-cpp.github.io/cppwp/n4868/expr.cast#4[expr.cast]/4> If a conversion can be interpreted in more than one of the ways listed above, the interpretation that appears first in the list is used, even if a cast resulting from that interpretation is ill-formed.