CTM1 map files created from OpenStreetMap data (OSM files in XML format) use the attribute Type. This 32-bit value contains a value in its upper 15 bits that encodes a three-letter tag that is a mnemonic for one of the tags used in the OSM file. The encoding is done like this: for the purpose of explanation here is a C macro that takes three lower-case letters:
#define OsmType(A,B,C) ((((A)-'a') << 27) | (((B)-'a') << 22) | (((C)-'a') << 17))
However, you don't have to work with the actual numeric values because you can use the three-letter tag on the right hand side of a test in a condition.
Here are the OpenStreetMap types that are currently defined and used by generate_map_data_type1.
EAbandoned = OsmType('a','b','a'), EAerodrome = OsmType('a','e','r'), EAirfield = OsmType('a','i','r'), EAirportGate = OsmType('a','g','t'), EAirportHoldingPosition = OsmType('a','h','p'), EAllotments = OsmType('a','l','l'), EAlpineHut = OsmType('a','l','p'), EAmbulanceStation = OsmType('a','m','b'), EApron = OsmType('a','p','r'), EAerialWayPylon = OsmType('a','p','y'), EArtwork = OsmType('a','r','t'), EAerialWayStation = OsmType('a','s','t'), EAirTerminal = OsmType('a','t','e'), EAtm = OsmType('a','t','m'), EAttraction = OsmType('a','t','t'), EBabyHatch = OsmType('b','a','b'), EBarracks = OsmType('b','a','r'), EBasin = OsmType('b','a','s'), EBay = OsmType('b','a','y'), EBeach = OsmType('b','e','a'), EBeacon = OsmType('b','e','c'), EBedAndBreakfast = OsmType('b','e','d'), EBench = OsmType('b','e','n'), EBank = OsmType('b','n','k'), EBoatyard = OsmType('b','o','a'), EBoundary = OsmType('b','o','u'), EBorough = OsmType('b','o','r'), EBicycleParking = OsmType('b', 'p', 'k'), EBicycleRental = OsmType('b', 'r', 'e'), EBridleway = OsmType('b','r','i'), EBrownField = OsmType('b','r','o'), EBusStop = OsmType('b','s','p'), EBusStation = OsmType('b','s','t'), EBufferStop = OsmType('b','u','f'), EBuilding = OsmType('b','u','i'), EBunker = OsmType('b','u','n'), ECabin = OsmType('c','a','b'), ECafe = OsmType('c','a','f'), ECampSite = OsmType('c','a','m'), ECanal = OsmType('c','a','n'), ECaveEntrance = OsmType('c','a','v'), ECableCar = OsmType('c','c','r'), ECableDistributionCabinet = OsmType('c','d','c'), ECemetery = OsmType('c','e','m'), EChairLift = OsmType('c','h','a'), ECheckPoint = OsmType('c','h','e'), EChalet = OsmType('c','h','l'), ECivilBoundary = OsmType('c','i','b'), ECinema = OsmType('c','i','n'), ECity = OsmType('c','i','t'), ECliff = OsmType('c','l','f'), EClinic = OsmType('c','l','i'), ECommercial = OsmType('c','m','r'), ECoastline = OsmType('c','o','a'), ECollege = OsmType('c','o','l'), ECommon = OsmType('c','o','m'), EConstruction = OsmType('c','n','s'), EConservation = OsmType('c','n','v'), EContinent = OsmType('c','o','n'), ECounty = OsmType('c','o','u'), ECarPark = OsmType('c','p','k'), ECarRental = OsmType('c','r','e'), ECrossing = OsmType('c','r','o'), ECountry = OsmType('c','r','y'), ECarSharing = OsmType('c','s','h'), ECarWash = OsmType('c','w','a'), ECaravanSite = OsmType('c','v','n'), ECycleway = OsmType('c','y','c'), EDam = OsmType('d','a','m'), EDangerArea = OsmType('d','a','n'), EDentist = OsmType('d','e','n'), EDisused = OsmType('d','i','s'), EDitch = OsmType('d','i','t'), EDock = OsmType('d','o','c'), EDrain = OsmType('d','r','a'), EDragLift = OsmType('d','r','g'), EDoctors = OsmType('d','r','s'), EDistrict = OsmType('d','s','t'), EElectricVehicleCharging = OsmType('e','v','c'), EFarm = OsmType('f','a','r'), EFarmYard = OsmType('f','a','y'), EFell = OsmType('f','e','l'), EFerryTerminal = OsmType('f','e','t'), EFastFood = OsmType('f','f','d'), EFireExtinguisher = OsmType('f','i','e'), EFireFlapper = OsmType('f','i','f'), EFireHose = OsmType('f','i','h'), EFireStation = OsmType('f','i','s'), EFireHydrant = OsmType('f','i','y'), EFootpath = OsmType('f','o','o'), EForestry = OsmType('f','o','r'), EFuel = OsmType('f','u','e'), EFunicular = OsmType('f','u','n'), EGarages = OsmType('g','a','r'), EGate = OsmType('g','a','t'), EGarden = OsmType('g','d','n'), EGenerator = OsmType('g','e','n'), EGreenHouse = OsmType('g','h','o'), EGlacier = OsmType('g','l','a'), EGolfCourse = OsmType('g','o','l'), EGondola = OsmType('g','o','n'), EGoodsAerialWay = OsmType('g','o','o'), EGrass = OsmType('g','r','a'), EGreenField = OsmType('g','r','e'), EGritBin = OsmType('g','r','b'), EGraveYard = OsmType('g','r','y'), EGuestHouse = OsmType('g','u','e'), EHalt = OsmType('h','a','l'), EHamlet = OsmType('h','a','m'), EHangar = OsmType('h','a','n'), EHeath = OsmType('h','e','a'), EHelipad = OsmType('h','e','l'), ERailwayHalt = OsmType('h','l','t'), EHospital = OsmType('h','o','s'), EHotel = OsmType('h','o','t'), EHostel = OsmType('h','s','t'), EIndustrial = OsmType('i','n','d'), EInformation = OsmType('i','n','f'), EIsland = OsmType('i','s','l'), EIsolatedDwelling = OsmType('i','s','o'), EKindergarten = OsmType('k','i','n'), ELandFill = OsmType('l','a','n'), ELand = OsmType('l','n','d'), ELevelCrossing = OsmType('l','e','v'), ELibrary = OsmType('l','i','b'), ELightRail = OsmType('l','i','r'), ELocality = OsmType('l','o','c'), ELockGate = OsmType('l','o','k'), EMaritimeBoundary = OsmType('m','a','b'), EMall = OsmType('m','a','l'), EMarsh = OsmType('m','a','r'), EMeadow = OsmType('m','e','a'), EMilitary = OsmType('m','i','l'), EMixedAerialWay = OsmType('m','i','x'), EMonorail = OsmType('m','o','n'), EMotel = OsmType('m','o','t'), EMinorPowerLine = OsmType('m','p','l'), EMiniatureRailway = OsmType('m','r','y'), EMud = OsmType('m','u','d'), EMunicipality = OsmType('m','u','n'), EMuseum = OsmType('m','u','s'), ENarrowGauge = OsmType('n','a','r'), ENatureReserve = OsmType('n','a','t'), ENavalBase = OsmType('n','a','v'), ENationalParkBoundary = OsmType('n','p','b'), ENeighborhood = OsmType('n','e','i'), ENursingHome = OsmType('n','u','r'), EOrchard = OsmType('o','r','c'), EPrecisionApproachPathIndicator = OsmType('p','a','p'), EPark = OsmType('p','a','r'), EPublicBuilding = OsmType('p','b','u'), EPostBox = OsmType('p','b','x'), EPeak = OsmType('p','e','a'), EPharmacy = OsmType('p','h','a'), EPhone = OsmType('p','h','o'), EPicnicSite = OsmType('p','i','c'), EParkingEntrance = OsmType('p','k','e'), EParking = OsmType('p','k','g'), EParkingSpace = OsmType('p','k','s'), EPlantNursery = OsmType('p','l','a'), EPlatform = OsmType('p','l','f'), EPlaceOfWorship = OsmType('p','l','w'), EPlayground = OsmType('p','l','y'), EPoliticalBoundary = OsmType('p','o','b'), EPostOffice = OsmType('p','o','f'), EPolice = OsmType('p','o','l'), EProtectedArea = OsmType('p','r','a'), EPreservedRailway = OsmType('p','r','y'), EPowerSubStation = OsmType('p','s','s'), EPub = OsmType('p','u','b'), EPowerLine = OsmType('p','w','l'), EPowerStation = OsmType('p','w','s'), EQuarry = OsmType('q','a','r'), ERail = OsmType('r','a','i'), ERange = OsmType('r','a','n'), ERapids = OsmType('r','a','p'), ERecycling = OsmType('r','c','y'), ERecreationGround = OsmType('r','e','c'), ERegion = OsmType('r','e','g'), ERetail = OsmType('r','e','t'), ERiver = OsmType('r','i','v'), ERailway = OsmType('r','l','y'), ERoundHouse = OsmType('r','o','u'), EResidential = OsmType('r','s','d'), ERestaurant = OsmType('r','s','t'), EReservoir = OsmType('r','s','v'), ERunway = OsmType('r','u','n'), ERiverBank = OsmType('r','v','b'), ESaltPond = OsmType('s','a','l'), ESand = OsmType('s','a','n'), ESchool = OsmType('s','c','h'), EScree = OsmType('s','c','r'), EScrub = OsmType('s','c','b'), ESea = OsmType('s','e','a'), EStateEmergencyServiceStation = OsmType('s','e','s'), ESportsCenter = OsmType('s','p','o'), ESportsPitch = OsmType('s','p','p'), ESpring = OsmType('s','p','r'), ESportsTrack = OsmType('s','p','t'), EState = OsmType('s','t','a'), ESteps = OsmType('s','t','e'), EStadium = OsmType('s','t','m'), ERailwayStation = OsmType('s','t','n'), EStation = OsmType('s','t','n'), // deliberate duplicate EStone = OsmType('s','t','o'), EStopPosition = OsmType('s','t','p'), EStream = OsmType('s','t','r'), ESuburb = OsmType('s','u','b'), ESubwayEntrance = OsmType('s','w','e'), ESwimmingPool = OsmType('s','w','i'), ESubway = OsmType('s','w','y'), ETaxi = OsmType('t','a','x'), ETheatre = OsmType('t','h','e'), EThemePark = OsmType('t','h','p'), EToilet = OsmType('t','o','i'), ETown = OsmType('t','o','w'), ETurningCircle = OsmType('t','c','i'), ETurningPoint = OsmType('t','p','t'), ETram = OsmType('t','r','a'), ETree = OsmType('t','r','e'), ETrafficSignals = OsmType('t','r','f'), ETramStop = OsmType('t','r','s'), ETurnTable = OsmType('t','u','r'), ETower = OsmType('t','w','r'), ETaxiway = OsmType('t','w','y'), EUniversity = OsmType('u','n','i'), EVisualApproachSlopeIndicator = OsmType('v','a','s'), EVillageGreen = OsmType('v','i','g'), EVillage = OsmType('v','i','l'), EVineyard = OsmType('v','i','n'), EViewPoint = OsmType('v','i','w'), EVolcano = OsmType('v','o','l'), EWater = OsmType('w','a','t'), EWeir = OsmType('w','e','r'), EWetland = OsmType('w','e','t'), EWindsock = OsmType('w','i','s'), EWood = OsmType('w','o','o'), EZoo = OsmType('z','o','o')