CREATE/ALTER INDEX permission
The minimum permission to create/alter index can be easily found in corresponding BOL articles CREATE INDEX (Transact-SQL) and ALTER INDEX (Transact-SQL):


  Requires ALTER permission on the table or view.


This means you can grant alter table on every table of interest that already exists.

If you don't want to grant so granular permissions you can grant alter on schema(s) where your table(s) reside, this will assure that the user would be able to create/alter indexes on any future table/view.