Technically, a milestone is a milestone. It doesn’t matter what you use it for. It’s a task with 0 duration and 0 effort.
With that said, you can create a custom field, for example, “Milestone Type”. You can configure that custom field with specific drop down values such as “Major”, “Minor”, “Payment”, or whatever you want. Once the custom field is created, you can add the field to your views, populate it with the correct values on each milestone, and you can use it within filters.
Hope that helps