Seurat does violin plots using ggplot, which orders based on the factor levels. You need to re-factor your grouping category so that the levels matches your preferred order:
# default level sort order is alphabetical
obj[["grouping"]] <- factor(unlist(obj[["grouping"]]))
VlnPlot(obj, group.by = "grouping", features = c("...