Subtype should allow making base type attribute constant
eg
enum PartyDirection(party : Party, verb:BuySell)
enum ClientDirection inherits PartyDirection(party = Client)
enum BankDirection inherits PartyDirection(party = Bank)
eg
enum PartyDirection(party : Party, verb:BuySell)
enum ClientDirection inherits PartyDirection(party = Client)
enum BankDirection inherits PartyDirection(party = Bank)