Sure, race and ethnicity refer to heritage. But "hispanic" apparently means only... Well, les'see: A heritage from Spanish-speaking countries in Latin America. Countries which contain different races and ethnicities. So that leaves only a heritage of... the Spanish language, AFAICS. A linguistic heritage, not a racial or ethnic one.
The term Hispanic just refers to anyone with heritage from a Spanish speaking country in the Americas. It is neither a race nor an ethnicity.