In TypeScript, an Enum (short for enumeration) is a way of defining a set of named constant values. It helps organize related values that belong together and allows you to use these named values instead of hardcoding magic numbers or strings, making your code more readable and maintainable.
Types of enums:
- Numeric Enums: By default, enums start with a numeric value of  and auto-increment.
 - String Enums: In string enums, each member is explicitly assigned a string value.
 - Heterogeneous Enums: You can mix string and numeric values within the same enum (though it's less common).
 
Enums are used when you have a fixed number of related values in your program. Here are a few scenarios where enums come in handy:
- Statuses or Modes: Represent states like Loading, Active, Completed.
 - Configuration: Store constants for app settings like LightMode, DarkMode.
 - Error Codes: Organize error codes for better readability.