The terms are tricky. For instance I am Jewish, I do not consider it a race, some do. I do consider it my ethnicity. My nationality is American, but my national heritage is from Russia and Latvia primarily. My husband is Mexican. He is only a quarter Spanish, a quarter French, and half Israeli (middle east). When I fill out the census for him I list him as whote Hispanic.
For me ethnicity kind of defines your culture. National background, or the current country someone lives in also has a lot to do with culture, customs, normas, and mores. Generally I think race is irrelevant.
Society plays a big role in defining the terms. How society groups us basically puts us into the group. I think people have a right to reject the societies groupings, to self identify themselves, and that should be accepted, but the societal definitions do affect us to some extent, we can’t escape them completely, even if we want to.