Привязка к данным - лучший способ.Однако, если данные не имеют соответствующих значений, необходимо использовать конвертер (как в примерах).
если вы хотите что-то более элегантное, я бы добавил преобразование в данные и вместо этого связал бы это свойство
, например:
public int RealProperty { .... }
public SystemColors.AppWorkspaceColor Colour { return manglefromInt(RealProperty); }