(1) Would make sense to save the static list of sports as Options Sets than Text values.
(2) Define a custom state on the page of List with the type same as (1). When user checks a checkbox, trigger a workflow to add the current cell’s value to a custom state. Upon click of the button, trigger another workflow to save the list on the custom state to the db.