Well, you current implementation is quite OK, but you can be better off if intType and enumType are of small range.
Suppose, intType (allmost always) is in the [0..1000000] and enumType is in the [0..10] range then
   public override int GetHashCode() {
      return unchecked(intType * 10 + (int)enumType);
   }
will be a better choice: many hash collisions that a present in your current code are not such in the code above. For instance
   intType | enumType | old hash | suggested
   -----------------------------------------
         0          5         15           5
         3          0         15          30  
Edit: In your case (please, see comments)
it should not be more than 100
assuming that you don't have negative values, you can try 
   public override int GetHashCode() {
     // * 128 == << 7 may be faster than * 100 at some systems 
     return unchecked(intType * 128 + (int)enumType);
   }
and expect to have no collisions at all