Well, you can choose the subtype that contributes 4 cards in 9 ways. Having choosen that subtype, you can choose the subtype that contributes 3 cards in 8 ways, and the two subtypes that contribute 1 card each can be chosen in ways. In all, there are different cases of being dealt 9 cards that follow this general "4+3+1+1" pattern.
So, I think, it comes down to listing all these possible ways of partitioning the number 9 into a sum of at most 9 non-negative integers ( ) and, for each of these partitionings, determining how many ways there are to get them by combining the 9 subtypes of cards accordingly.
Such a list of partitionings might start like this (I am leaving out trailing 0s)
To keept this list reasonably small, you should only list the sums that have non-increasing terms (from left to right).