Enumを用いてただ定数を得るためだけに色んな場所で同じような条件分岐処理をしている場合に便利な使い方。

以下のようにEnumExtendクラスを作成します。

public enum AnimalType {
        Dog,
        Cat,
}

public static partial class EnumExtend {
        public static string GetTypeName(this AnimalType param) {
                string ret = "";
                switch (param) {
                case WeaponType.Dog:
                        ret = "イヌ";
                        break;
                case WeaponType.Cat:
                        ret = "ネコ";
                        break;
                }
                return ret;
        }
}

すると

AnimalType animalType = AnimalType.Dog;
string animalName = animalType.GetTypeName(); // イヌ

というふうに呼び出す事ができるようになります。

上記の例のように日本語化した場合の名称や、Enumを使って画像などのリソースをロードする際のパスを返すメソッドを作成すると便利に使うことができました。記述の分散を防ぐこともできるのでメンテもしやすくなりますね!