If you want to measure and describe the number of occurrences of something, use an integer. If you want to measure and describe the amount of something, use a rational number. If you want to measure and describe the symmetry of a structure, use a group.
When programmatically dealing with objects that contain symmetry - e.g. physical objects like a cube, a set of identical resources like a fleet of lorries - having an understanding of group theory allows you another layer of abstraction in your computation, potentially greatly reducing runtime or memory consumption.