Сериализация enum как строки в JSON.NET с использованием атрибутов

Я хочу сериализовать enum как строку, используя JSON.NET, используя атрибуты, подобные[JsonIgnore]

Пример класса:

enum Gender { Male, Female }
class ABC
{
    public Gender { get; set; }
}

Если я сериализую это с помощью JSON.NET:

var a = new ABC();
var str = JsonConvert.SerializeObject(a);

str установлен в{Gender:0} и я бы предпочел{Gender:Male}.