Here's why:
* Common nouns refer to general, non-specific people, places, or things.
* Proper nouns are specific names of people, places, or things (like "Frodo" or "Middle-earth").
Since "elf" refers to any member of the mythical race of elves, it's not a specific name and therefore a common noun.