Generally a provisioner in the framework (built-in or custom) will have a first class provisioner implementation. i.e. you see it in the drop down, it has specific configuration and validation etc.
However, if you want to implement a custom generic provisioner and not write all the classes and configs to make that happen, you can use the generic provisioner. Just implement a DAO class and register it in the provisioner. All the configs specific to this provisioner should live elsewhere in the configuration, not with the provisioner configuration or external system.