I think you haven't expressed yourself clearly: I suspect that what you want is a type whose value space is the set of names of built-in simple types.
The names of built-in simple types are all QNames, so your type should be a restriction of xs:QName, restricted with an enumeration to constrain it to the built-in types:
<xs:simpleType name="builtInTypeName">
<xs:restriction base="xs:QName">
<xs:enumeration value="xs:decimal"/>
<xs:enumeration value="xs:boolean"/>
etc
</xs:restriction>
</xs:simpleType>
At least, I think that's what you want - but I'm guessing. The fact that you haven't used the XSD type names like xs:boolean and xs:integer, but your own type names BOOLEAN and INT, makes me suspect I haven't quite grasped what you are after.