Enum declarations with complex relations fixed, boxing takes care of the rest