In one of the financial Winform projects , the application code will have to work with values such as currencies. In the object model that represents business entities , there are fields that need to hold currency values such as USD , EUR , etc. The set of values for this field will most probably be limited to one of the standard currencies and rarely will it need to be expanded for new currencies. The application gets the currency inputs from a GUI control that brings these values from another standard source and displays as a dropdown, although it is possible that user inputs a value directly into the control. The application's logic does not specifically depend on the values of the currency and no special process is performed on these fields directly that demands referring to the actual values contained in the fields.
Now for the question : Is it advisable to use an enumeration , that enumerates values such as USD , EUR and the likes, so that currency values received into the code can be validated against the enumeration ? If not , is it advisable to leave it to the fact that the currency values are input from a dropdown , so that no extra validations be needed in code ?