throw away reinterpret cast in favor of
explicit inline specializations of swap function for enums
(interoperability with swap_n_fixed)