Хорошо или плохо надо смотреть по ситуации. Аналогичная ситуация с интерфейсами в которые суют default реализации.
К примеру приблизительно такую реализацию я не считаю плохой:
public enum Model {
CYLINDER(new Cylinder(), "Cylinder"),
CONES(new Cone(), "Cones"),
BOX(new Box(), "Box"),
Line(new Line(), "Line");
private final String label;
private final Model model;
Model(Model model, String label) {
this.model = vis;
this.label = label;
}
public Model getVisualization() {
return this.model;
}
public String getLabel() {
return this.label;
}
}
Ситуация когда туда пихают вообще все что непопадя уже проблема.
Приведите живой пример что он у вас туда напихал.