Adjective capitalization of fictional species and nationalities

Solution 1:

When we talk about Earth as a planet (part of the Earth-Moon system), we capitalize it. When we talk about earth meaning soil, we don't. The same rules should hold for Elf/elf.

You have two different meanings of the word here. There are Elves who are citizens of Elf Nation and there is the race of elves. And for all you know, there may be dwarfs who are citizens of Elf Nation, and elves who are citizens of Ruritania, so these two concepts don't cover the same set of people.

I don't see why you shouldn't use use capitalization or not depending on whether you're using it for the nationality or the race. It will make sentences like "that dwarf is an Elf" much less confusing.

So if you say somebody is an Elf general, you mean that he is a general in the army of Elf Nation, not that he is an elf. (Of course, this ambiguity could be resolved by using elven for generals who are elves.)