You can impliment it,
first make a NPE, and keep its attribute as Enum(Based on the name of tabs).
but, you have to remove the tab containers and replace it with buttons, and the dataview you implimented make it a snippet.
Now add a dataview on the page, and its source should be a microflow, which creates the NPE object, and place the buttons in the data view,
Now, on the click of the every button, just call a nanoflow, which sets the Enum as your tab name, and now just call the snippets in a container(Inside the dataview) below the buttons. Now, apply a visibility rule on the container according to the enum set by the buttons.
And apply a CSS on the buttons to make it look like a tab.
And your work is done
Hope it helps!