I'm a java developper but i think i can answer here too...
For me it's not a good idea. Like Daniel Earwicker said you could do the same for classes... you could handle your whole application in one single file with many inner classes (i assume in C# like in Java you can have inner classes...), but you don't do it anyway...
And an enum can sometime be a more complex structure, it can have attributes...
A (very) simple exemple in Java:
public enum JobPriority {
HIGH(5),
MEDIUM_HIGH(4),
MEDIUM(3),
MEDIUM_LOW(2),
LOW(1)
;
private int level;
JobPriority(int level) {
this.level = level;
}
public int getLevel() {
return level;
}
}
I work on a very big french website and we have enum structures a lot more complex than that... if we had all our enums in one single file this file would make hundreds of lines...
So if your application is small and enum structure is not complex, you can put all of them in one file.
But you'd rather put complex enums in single files on a enum namespace (package in java), and make a enum namespace when needed for each functional part of your application. For simple enums, why not adding then in a common enum file for a given namespace (you can have multiple common enums files). Dunno if it's a good practice.
Does it really matter to you to have many enum files?
If you need to find a enum, your IDE perhaps offer you fast class search for finding easily enums no? You can also suffix all your enums by xxxEnum.cs to distinguish them (and also find them all fastly by class name *Enum).
In the java webapp i'm working on (~2 million lines of code, hundreds of enums), we can easily find enums in our Eclipse IDE with shortcuts like ctrl+shift+R + *Enum. It's a lot faster than having common enum files :)