I suppose it could be worse. Like our Postal Zip Code system. Our's has been changed 3 times but we never moved. Now it's a 9-digit number. That's 1,000,000,000 unique possible values. Every address in the US can have 10 unique zipcodes. One for the bathroom, one for the kitchen, etc. But what if you live in a mansion? You might have to share your bedroom zipcode with your closet, and possibly not get your mail. Perhaps they needed 10 digits to play it safe.
Back on subject, yes, one text file and a few lines of code would eliminate the redundancy, yet keep the code if you need them. This is 30 year old BASIC:
10 INPUT "What is the class?"; ENTRYCLASS$
20 OPEN "CLASSLIST.TXT" FOR INPUT AS #1
30 READ #1; CLASSNAME$, ENGINECODE, BODYCODE
40 IF CLASSNAME$ = "ENDOFLIST" THEN 100
50 IF CLASSNAME$ = ENTRYCLASS$ THEN 70
60 GOTO 30
70 PRINT "For ";ENTRYCLASS$; ", the body code is ";BODYCODE;". The engine code is ";ENGINECODE
80 CLOSE #1
90 GOTO 120
100 PRINT "Not a valid class name. Try again."
110 CLOSE #1
120 END
No comments on my rotten coding style, but it's not very much code, and can be done in less than 1 hour to existing code, regardless of the programming language.
But like everyone says, it is what it is, and just follow the procedures.