Added clustering extension methods and refactored enumerations.
Saving progress on K means clustering.