Allow type definition override on resource_fields. 

Helps with supplying more complete spec, e.g. enums. If a resource_fields dict value is a tuple, then second element is considered type definition override. The dict's values will be applied on top of whatever is deduced.