The C++ standard on enums says
For an enumeration whose underlying type is fixed, the values of the enumeration are the values of the underlying type. Otherwise, the values of the enumeration are the values representable by a hypothetical integer type with minimal width M such that all enumerators can be represented. The width of the smallest bit-field large enough to hold all the values of the enumeration type is M. It is possible to define an enumeration that has values not defined by any of its enumerators. If the enumerator-list is empty, the values of the enumeration are as if the enumeration had a single enumerator with value 0.
A footnote then clarifies that
This set of values is used to define promotion and conversion semantics for the enumeration type. It does not preclude an expression of enumeration type from having a value that falls outside this range.
I understand these promotion and conversion semantics to be referring to what happens when you convert to and from enums as defined in 7.6.1.9.10
A value of integral or enumeration type can be explicitly converted to a complete 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, and otherwise, the behavior is undefined ...
When the footnote says that it does not preclude an expression of enumeration type from having a value outside of the enum's range, is it only referring to the possibility of undefined behavior, or is there some other way of having an expression of enum type that falls outside of the enum's range? It would seem odd to me for the standard to describe a scenario that's only possible through undefined behavior, because undefined behavior is unpredictable by definition.
My main goal is to learn how to better read and understand the C++ standard, so I'm not looking for practical advice on using c++ enums, but I welcome any tips on better understanding or citing the standard.