Caste defaults to first available caste
Constrains selection model to caste
* No need for generics
Removes unnecessary nullcheck
Reduces checks for NULL_CASTE_TYPE