HttpStatusCode реализуется как enum, причем каждое возможное значение присваивается соответствующему коду статуса HTTP (например, (int)HttpStatusCode.Ok == 200).
Однако HttpMethod реализован как class со статическими свойствами для получения экземпляров для различных HTTP-глаголов (HttpStatus.GET, HttpStatus.PUT и т.д.). В чем причина не реализации HttpMethod как enum?