text: Figure 4.23 The Reasoner Inferred that Margherita and Soho Pizzas are subclasses of VegetarianPizza 
  
  4.14 Defining an Enumerated Class 
  A powerful tool in the object-oriented programming (OOP) community is the concept of design patterns. 
  The idea of a design pattern is to capture a reusable model that is at a higher level of abstraction than a 
  specific code library. One of the first and most common design patterns was the Model-View-Controller 
  pattern first used in Smalltalk and now almost the default standard for good user interface design. Since 
  there are significant differences between OWL and standard OOP the many excellent books on OOP 
  design patterns don’t directly translate into OWL design patterns. Also, since the use of OWL is more 
  recent than OOP there does not yet exist the excellent documentation of OWL patterns that the OOP 
  community has. However, there are already many design patterns that have been documented for OWL 
  and that can provide users with ways to save time and to standardize their designs according to best 
  practices. 
  
  One of the most common OWL design patterns is an enumerated class. When a property has only a few 
  possible values it can be useful to create a class to represent those values and to explicitly define the class 
  by listing each possible value. We will show an example of such an enumerated class by creating a new 