You could use attributes :
using System.ComponentModel;
public enum Tile
{
[Description("E")]
Empty,
[Description("W")]
White,
[Description("B")]
Black
}
And an helper method :
public static class ReflectionHelpers
{
public static string GetCustomDescription(object objEnum)
{
var fi = objEnum.GetType().GetField(objEnum.ToString());
var attributes = (DescriptionAttribute[])fi.GetCustomAttributes(typeof(DescriptionAttribute), false);
return (attributes.Length > 0) ? attributes[0].Description : objEnum.ToString();
}
public static string Description(this Enum value)
{
return GetCustomDescription(value);
}
}
Usage :
Console.Write(Tile.Description());