Bug 1024842 - Make StructuredDataType a typed enum in order to avoid C++11 narrowing conversion warnings when the values of the enum are used in the switch statement later in the file; r=Waldo