I don't know even know if that works but it's worth a try.
If you add a case statement to the start of your stored procedure like
case when @Filter = 1 then select @Search = '%' + @Search
when @Filter = 2 then select @Search =@Search + '%'
... end
I'm not sure of the syntax, but you get the idea of appending a wildcard character.
Then use it in your query:
... where SearchField LIKE @Search