You could use Enumerable.ElementAt
:
var everySecond = Items.GroupBy(x => x.Type).Select(grp => grp.ElementAt(1)).ToList();
If there are not so many items you can use ElementAtOrDefault
which returns null instead(for reference types).
Edit: "i have selectedItem and want to display that in group as main element":
So actually you want to get the first that matches a specific condition, in this case it is the selected, you can order the group and take the first:
var everySelected = Items
.GroupBy(x => x.Type)
.Select(grp => grp.OrderByDescending(x => x == selectedItem).First())
.ToList();
I have used OrderByDescending
(consider that true is 1 and false is 0) with the comparison. In this way every item that is the same reference as your selected item comes first(replace it with the logic how you want to compare them instead of reference equality).