Replace Type Code with Class
If a class has a numeric type code that does not effect its behaviour.
Replace the number with a new class.
Whether or not it was considered good style in C programming (and any of its descendants), it was common to use symbolic constants or enums to represent a range of values. The underlying mechanism for this to use integers for the symbol values, because of this the compiler can offer no help in protecting against the assignment of illegal values.