В итоге я создал собственный шаблон редактора.
В основном я создал .ascx в папке / Views / Shared / Editors под названием "ColorSelect.ascx"
Затем внутри этого .ascx я добавил следующее:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<System.Int64>" %>
<%var colors = ViewData["Colors"] as ColorTable;
var name = Html.ViewContext.ViewData.TemplateInfo.GetFullHtmlFieldName(String.Empty);
var id = Html.ViewContext.ViewData.TemplateInfo.GetFullHtmlFieldId(String.Empty);
%>
<select name="<%=name %>" id="<%=id %>">
<%foreach(var color in colors) {%>
<option value="<%=color.Id %>" style="background:<%=color.Hex%>;"<%if(color.Id == Model) { %> selected="selected"<%} %>><%:color.Name %></option>
<%} %>
</select>
в моем представлении (.aspx) я сделал это:
<%=Html.EditorFor(x => x.ColorId, "ColorSelect", new { Colors = Model.ColorTable })%>
Надеюсь, это поможет любому, кто столкнется с той же проблемой, что и я.