Перечисление - это тип, который явно перечисляет значения, которые может принимать что-то из этого типа. Например. enum E { fee, foe, fie. fum }
говорит, что переменная типа E может иметь одно из 4 заданных значений и никакое другое.
Каждое возможное значение должно быть построено и создается только один раз.
Ваше enum перечисляет только одно возможное значение - «Экземпляр». Это одно значение создается ровно один раз, что приводит к вызову одного конструктора.
Ваш конструктор OrderService очень странный, поскольку то, что он делает, кажется, вообще не связано с перечислением. Конструктор вызывается для конструирования значения «Экземпляр», но при этом ничего не делает с этим.
Я думаю, что, возможно, вы в корне неправильно понимаете природу перечисления. Рассмотрим этот избитый пример:
enum Colour { RED; BLUE; GREEN; }
Конструктор здесь неявный. КРАСНЫЙ построен; СИНИЙ построен; ЗЕЛЕНЫЙ построен. Все это предшествует любому использованию цвета.
То, что мы сейчас обсуждаем, эквивалентно удивлению, почему есть только один КРАСНЫЙ.