Mexican is a title dependent on nationality, Hispanic is a title dependent on race. That’s the biggest difference.
As far as to why he would take offense It has to do with the more romantic views Hispanic people have of Spain Vs Mexico. I have a friend who lives in Mexico, but he was born in Spain and prefers to be called Hispanic or Latino. What I got out of our discussion about the topic was that the people of Spain look down on Mexico, much in the same way England looks down on America.
I think your co-worker likely takes offense because he is of Spanish decent, and would rather be likened to the people of Spain than those of Mexico.
Isn’t Hispanic based on culture and history? I recall some old Latino folks in my neighborhood talking about this and they claim that Filipinos were considered Hispanic during their time but not Latino, currently some people classify them as Asian-Hispanic.
I think we’re both saying the same thing using different words…
When I type Hispanic into google:
His·pan·ic
hiˈspanik/ adjective
1.
of or relating to Spain or to Spanish-speaking countries, especially those of Latin America. noun
1.
a Spanish-speaking person living in the US, especially one of Latin American descent.
And Latino:
La·ti·no
ləˈtēnō/
NORTH AMERICAN noun
1.
(in North America) a person of Latin American origin or descent, especially a man or boy. adjective
1.
relating to Latinos.
Quick snip from wiki:
The terms Hispanic and Latino refer to an ethnicity; people in this group may be of any race and often have mixed-race ancestry. Members of the Hispanic ethnicity may share a common language, culture, history, and heritage.
Another snip from the ethnic group page:
An ethnic group or ethnicity is a category of people who identify with each other based on common language, ancestral, social, cultural, or national experiences.[1][2] Unlike most other social groups, ethnicity is primarily an inherited status. Membership of an ethnic group tends to be defined by a shared cultural heritage, ancestry, origin myth, history, homeland, language or dialect, symbolic systems such as religion, mythology and ritual, cuisine, dressing style, art, and physical appearance.
…So basically, LOTS of things can make someone Hispanic/Latino.