Это возможно, но не просто.
Вы должны определить свой собственный тип, возможно, скрыть текущее свойство в браузере с атрибутом <Browsable(False)>
и создать свойство shadow вашего собственного типа. Этот тип должен знать, когда он «указывает» на переменную или имеет сам цвет.
В новом типе вы должны переопределить ToString, чтобы вернуть то, что вы хотите отобразить. И создайте свой собственный редактор. Посмотрите на EditorAttribute для получения дополнительной информации.
Вы можете создать раскрывающийся список, как в Color, с дополнительной вкладкой, в которой перечислены ваши переменные.
Если вы не хотите создавать дополнительные свойства (это плохая OO), вы также можете определить TypeConverter для класса и указать каждое свойство и как себя вести.
Кстати: структура Color хранит значение KnownColor (Color.Red или SystemColor.WindowText) или значения RGB. Таким образом, он знает, что он указывает на известный цвет. Ваша структура должна также знать, указывает ли она на переменную (и на какую переменную) или является System.Color.