/// <summary>
        /// Converts a string to a subcategory.
        /// </summary>
        /// <param name="subcategory"> The string to be converted. </param>
        /// <returns> The converted subcategory. </returns>
        public static SubcategoryType SubcategoryFromString(string subcategory)
        {
            // Format string
            subcategory = subcategory.ToUpper( );
            subcategory = subcategory.Replace(" ", "_");

            // Convert string to enum
            try
            {
                // Convert string
                SubcategoryType data = (SubcategoryType)Enum.Parse(typeof(SubcategoryType), subcategory);

                // Check for valid enum
                if (Enum.IsDefined(typeof(SubcategoryType), data))
                {
                    // Return the subcategory
                    return(data);
                }
                else
                {
                    // Return that the string could not be converted.
                    return(SubcategoryType.NONE);
                }
            }
            catch
            {
                // Return that the string could not be converted.
                return(SubcategoryType.NONE);
            }
        }
        /// <summary>
        /// Converts a subcategory to a readable string.
        /// </summary>
        /// <param name="subcategory"> The subcategory to be converted. </param>
        /// <returns> The subcategory as a readable string. </returns>
        public static string ToString(SubcategoryType subcategory)
        {
            // Check subcategory
            switch (subcategory)
            {
            case SubcategoryType.NONE:
                return("None");

            case SubcategoryType.NORTHERN_AFRICAN:
                return("Northern African");

            case SubcategoryType.SOUTHERN_AFRICAN:
                return("Southern African");

            case SubcategoryType.WESTERN_AFRICAN:
                return("Western African");

            case SubcategoryType.EASTERN_AFRICAN:
                return("Eastern African");

            case SubcategoryType.CENTRAL_AMERICAN:
                return("Central American");

            case SubcategoryType.NORTHERN_AMERICAN:
                return("Northern American");

            case SubcategoryType.SOUTHERN_AMERICAN:
                return("Southern American");

            case SubcategoryType.CENTRAL_ASIAN:
                return("Central Asian");

            case SubcategoryType.SOUTHERN_ASIAN:
                return("Southern Asian");

            case SubcategoryType.SOUTHEASTERN_ASIAN:
                return("Southeastern Asian");

            case SubcategoryType.WESTERN_ASIAN:
                return("Western Asian");

            case SubcategoryType.EASTERN_ASIAN:
                return("Eastern Asian");

            case SubcategoryType.NORTHERN_EUROPEAN:
                return("Northern European");

            case SubcategoryType.SOUTHERN_EUROPEAN:
                return("Southern European");

            case SubcategoryType.WESTERN_EUROPEAN:
                return("Western European");

            case SubcategoryType.EASTERN_EUROPEAN:
                return("Eastern European");

            case SubcategoryType.OCEANIC:
                return("Oceanic");

            case SubcategoryType.AMERICAN:
                return("American");

            case SubcategoryType.FANTASY:
                return("Fantasy");

            case SubcategoryType.SCIENCE_FICTION:
                return("Science Fiction");

            case SubcategoryType.OTHER:
                return("Other");
            }

            // Return that no subcategory was found
            return("");
        }