By separating them from unrelated code, their dependents
can use them without depending on unrelated code, which
in turn helps to reduce cyclic dependencies.
With Qt 5.9, I got an error when calling compare(BlackMisc::Network::CEntityFlags::Entity,
BlackMisc::Network::CEntityFlags::Entity). The underlying integral type
of an enum is implementation defined and gcc seem to choose an unsigned
int in this case. This made the call ambiguous, since there was no unsigned
int overload yet of compare.