This has been asked several times recently and unfortunately the answer is that you can't do this automatically. Hopefully some of the wishes around data forms on the Feedback site will be delivered eventually and that one of the improvements is a tag field.
Meanwhile there is a workaround but it requires a 2-step process:
1) the user enters the data and saves the form
2) they press a set-tags button on the saved form to confirm their selection.
With this method you can remove the page options buttons, or at least the tags button, at the bottom of the page because the user edits their data and updates their tags from within the page they create. They don't need to add their data then also add the tags, they just need to confirm that the data they have entered in the dataform is correct (and edit it if not). The advantage is that although it is a 2-step process, you can control what tags are added to the page.
I will explain how to do this below, but you can see it in action on a menu ordering system I have set up to demonstate this at http://vineyard.wikidot.com/orders:main. On that page I have use a newpage button snippet so you can just press that to create to create a new page. Give it a go, the permissions have been relaxed.
The dataform template is at http://vineyard.wikidot.com/menu:_template and as it is an autonumbered category the pages that have been created from the main menu page are http://vineyard.wikidot.com/menu:1, http://vineyard.wikidot.com/menu:2 etc the permissions have been relaxed so you can see the code on the pages and create new pages.
Set up your data form in the normal way but above the form use a separator ==== and then above that add the code to layout on your page the data the user has entered and to remove any existing tags and add new tags :
++ Order %%name%% / Table: %%form_data{table}%%
------
**Starter:** %%form_data{starter}%%
**Pizza:** %%form_data{pizza}%%
**Steak:** %%form_data{steak}%% cooked: %%form_data{cooked}%%
[[div style="border:2px solid darkgreen; text-align:center; width:200px;"]]
[[button set-tags -* +%%form_raw{starter}%% +%%form_raw{pizza}%% +%%form_raw{steak}%% +%%form_raw{cooked}%% +%%form_raw{cooked}%% +%%form_raw{coffee}%% text="Confirm"]]
[[/div]]
------
[[div style="border:2px solid #112233;text-align:center; width:200px;"]]
[[button edit text="Edit Selection"]]
[[/div]]
------
====
[[form]]
fields:
table:
label: Table
type: select
values:
ta: Takeaway
1: 1
2: 2
3: 3
4: 4
starter:
label: Starter
type: select
values:
no: None
sp: Soup
sl: Salad
pc: Prawn-cocktail
nc: Nachos
pizza:
label: Pizza
type: select
values:
no: None
ma: Margarita
hs: Hot-Spicy
hp: Ham-Pineapple
sf: Seafood
steak:
label: Steak
type: select
values:
no: None
re: Rib-eye
tb: T-bone
si: Sirloin
ch: Chateaubriand
cooked:
label: How Cooked
type: select
values:
no: None
ra: Rare
mr: Medium-Rare
md: Medium
wd: Well-Done
coffee:
label: Tea/Coffee
type: select
values:
no: None
te: Tea
la: Latte
ca: Cappuccino
am: Americano
[[/form]]
You'll notice that I've used field values like sp: Soup and form_raw in the set-tags button. The reason is that if you use the more usual 1:soup and form_data you need to have the soup part in lower case and the word soup is be saved as the tag. By using sp:Soup and form_raw the tag that is saved is sp and you can use uppercase for the first letter, spaces in the words etc
If necessary you can also use iftags to set further options.
You can then use the ListPages module to list the data based on the tags.
Do come back with any questions about this.