Best practice for linear or non-linear stepper in multistep forms

I am hammering out the guidelines for use of Material design's steppers in a system. The admin using this system can configure a form to some extent. The admin can not decide in which step of a multi step form a field will appear, but they can configure if the field should be mandatory or optional. I'm struggling with figuring out when to use linear versus non-linear steppers.

Non-linear stepper

A non-linear stepper should be used in cases where we do not control which steps contains mandatory fields, eg.

  • Step 1 (*contains required fields)
  • Step 2 (all fields are optional)
  • Step 3 (*contains required fields)

In use cases like this we want to allow the user to quickly jump to the necessary steps to complete the form.

Linear stepper

A linear stepper should be used in cases where the object that will be created depends on the selection done in the first step, eg.

  • Create internal
  • Create external

It should also be used when a field in the current step depends on a selection made in a previous step.

How do I determine if a linear or non-linear stepper is ideal for my use case?