We can call enums as collection of similar type of values. What?? Below is a example of enum in swift. It's having a declaration name and inside the braces we will be writing different cases. Why do i need enums? Firstly enums are type safe, once declared we can access the same cases everywhere in our project. Imagine you are trying to render a particular type of chart, In one view controller I will name type of a chart as barChart and in other barrChart (notice the typo, extra r) . Instead of doing this way we can have a enum storing all the supported chart types in our application. By this way we eliminate the duplication of code and it is type safe. We can use a switch statement and check for specific case and render accordingly.