Return list of values in conditional where clause
Maybe something like that could work:

declare @values table(id int, value nvarchar(100))
insert into @values
values(1, N'FirstValue'), (1, N'SecondValue'), (2, N'ThirdValue'), (2, N'FourthValue')

select * 
from dbo.MyTable t
join @values v on t.MyColumn = v.value
                and (v.id = @Parameter or @Parameter not in (1,2))