Accessing relation data in an on save entry event
Related elements, such as categories, are stored by Craft as arrays, even if there is only a single element to be stored.

In your entry form, you don't appear to be storing an array, but only the id of the selected category:

&lt;input type="hidden" name="items[{{ index }}][finish]" value="{{ finish.id }}"&gt;


This seems to be borne out by what you see when you dump the item variable in your email template. item[finish] should be an array, even if only a single category is assigned to it.

Try using the following in your entry form to see if that helps, which should store the category id as an array:

&lt;input type="hidden" name="items[{{ index }}][finish][]" value="{{ finish.id }}"&gt;


You should then be able to access the correct value for the category title using the code in @carlcs answer.