Is there a module/hook for permissions for list values? Say I have a text list field attached to a node with the following values:


Apples
Oranges
Grapes
Kiwi
Strawberries
Pears
Bananas


But I want to give some options only to some roles, for example:


Only Administrators can select Strawberries.
Only Anonymous can select Kiwi.
Only Role C can select Pears.


Is there a module for this?  Or, if I was going to code it myself, is there a hook to start from?

This is for Drupal 8 but if there was a solution only for 7, that would be interesting to look at too.
This is Drupal 7 solution 

Using hook_form_alter, you can unset some of the options based on the user role. 
For example look at this list of article content type  (field_list)



It is the result of kpr() on its form



simply use this code

function THEME_form_alter(&amp;$form, &amp;$form_state, $form_id){
    global $user;    
    if($form_id == "article_node_form"){
        //kpr($form);
        if(in_array('SOME_ROLE', $user-&gt;roles)) 
            unset($form['field_list']['und']['#options'][2]);
   }
}


This is the result