Non-linear interfaces have pros and cons that go beyond the UI layout. Consider your intended and likely use cases carefully.
I've tackled similar requests a variety of times over the years. There are occasions where the desire for non-linearity comes from the users, but they are rare.
Humans are linear beings. Unless you have a system where multiple users are interacting with a single form simultaneously, your single user can't really multitask. (They can't physically fill out steps 1-4 at the same time they do steps 5-8.)
When presented with a single list of steps, users will tend to start at the top and move through them each in turn. Even if they can skip right to the middle or end, they usually won't because they have to do all the steps eventually anyway, so the might as well do them in some sort of order. It's inefficient to jump around randomly, so they go with the order they are on the screen as the path of least resistance. If you have some cases where things must be done in order users will likely adapt to doing everything else in order too, since there's not much of an interaction downside.
For example, think of filling out your name and address to ship a package. Nothing stops you from filling out your state first followed by your last name then your street and so on. But why bother?
Users may be motivated by things like a desire to pause at a random step so they don't lose work if they get interrupted or wanting to be able to return to edit a section without redoing all the steps, but these things lead to a non-linear interface as a side effect, rather than as the desired goal.
If you really have steps that need to be done in parallel (they take a long time, or something) structuring them as 3 columns of 5 steps will help convey that they are separate more than 1 column with 15 steps in groups, especially if each column has it's own completion percentage.
Another possibility is to design things similar to most tax software: groups of questions that can be done in any order, but the overall order of the groups is fixed. They also decouple saving and submitting the data so that users can jump around as much as they want without losing work, but when they think they are done there's a final step to review the information before it is all submitted.